package com.tedu.controller;

import com.tedu.pojo.Item;
import com.tedu.service.ItemService;
import com.tedu.vo.ItemVo;
import com.tedu.vo.PageResult;
import com.tedu.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * Author：毕龙
 * Date: 2022/9/21 14:59
 *
 */
@RestController
@CrossOrigin
@RequestMapping("/item")
public class ItemController {

    @Autowired
    private ItemService itemService;

    /**
     * 需求分析：
     *  请求路径：/item/getItemList?query=关键字 & pageNum = 1 & pageSize = 10
     *  请求类型：get
     *  请求的参数：PageResult对象接收
     *  返回值：SysResult对象
     */
    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){
        pageResult = itemService.getItemList(pageResult);//总条数 query下集合所有Item
        return SysResult.success(pageResult);
    }

    /**
     * 需求分析：
     *  请求路径：/item/updateItemStatus
     *  请求类型：put
     *  请求参数： id  / status  使用item对象接收
     *  返回值：SysResult
     *
     */
    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(@RequestBody Item item){
        itemService.updateItemUpdate(item);
        return SysResult.success();
    }


    /**
     * 请求路径：/item/deleteItemById
     * 请求类型：delete
     * 请求参数：id
     * 返回值：SysResult
     */
    @DeleteMapping("/deleteItemById")
    public SysResult deleteItemById(Integer id){
        itemService.deleteItemById(id);
        return SysResult.success();
    }


    /**
     * 需求分析：
     *  请求路径：/item/saveItem
     *  请求类型：POST
     *  请求的参数：ItemVO  item对象 itemdesc对象
     */
    @PostMapping("/saveItem")
    public SysResult saveItem(@RequestBody ItemVo itemVo){
        itemService.saveItem(itemVo);
        return SysResult.success();
    }

}
